home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / gnu / gnumake / pdmake.zoo / touch.c < prev   
C/C++ Source or Header  |  1991-09-25  |  1KB  |  75 lines

  1.  
  2. /* #define MEGAMAX */    /* Define if using Megamax C */
  3.  
  4.             /*******************************\
  5.             *        Touch.c                *
  6.             *                               *
  7.             *     Change last mod time      *
  8.             *        of args. to present.   *
  9.             *                               *
  10.             *    Jwahar R. Bammi            *
  11.             *                               *
  12.             \*******************************/
  13.  
  14. #include <osbind.h>
  15.  
  16. #ifdef MEGAMAX
  17. #undef Fdatime            /* Megamax has it incorrectly defined */
  18. #define Fdatime(a,b,c)    gemdos(0x57,a,b,c)
  19. #endif /* MEGAMAX */
  20.  
  21.  
  22. main(argc, argv)
  23. register int argc;
  24. register char **argv;
  25. {
  26.     while(--argc)
  27.         touch(*++argv);
  28. }
  29.  
  30. touch(file)
  31. register char *file;
  32. {
  33.     register int    fd;
  34.  
  35.     if ((fd = Fopen(file, 0)) < 0)
  36.     {
  37.         Cconws("Touch: '");
  38.         Cconws(file);
  39.         Cconws("' not touched - non-existant\r\n");
  40.     }
  41.     else
  42.     {
  43.         long tim;
  44.  
  45.         tim = Gettime();
  46.         FlipWords(&tim);
  47.         if (Fdatime( &tim, fd,  1) < 0)
  48.         {
  49.             Cconws("Touch: '");
  50.             Cconws(file);
  51.             Cconws("' not touched - disk write protected ?\r\n");
  52.         }
  53.         Fclose(fd);
  54.  
  55.     }
  56. }
  57.  
  58. FlipWords(i)
  59. #ifdef MEGAMAX
  60. unsigned i[];
  61. #else
  62. unsigned int i[];
  63. #endif /* MEGAMAX */
  64. {
  65. #ifdef MEGAMAX
  66.     register unsigned  temp;
  67. #else
  68.     register unsigned int temp;
  69. #endif /* MEGAMAX */
  70.  
  71.     temp = i[0];
  72.     i[0] = i[1];
  73.     i[1] = temp;
  74. }
  75.